
package com.yixun.qfbao.xf.model.enums;

import com.yixun.common.utils.EnumUtil;
import org.apache.commons.lang.StringUtils;

import java.io.Serializable;

public enum DeptPermissionEnum implements Serializable {

    NOT("0", "不适用"),
    ALL("1", "全部"),
    DEPT("2", "本部"),
    MYSELF("3", "本人"),

    ;


    private final String no;

    private final String des;

    static {
        EnumUtil.ENUMS_TO_VIEW.put("dept_permission", DeptPermissionEnum.values());
    }

    DeptPermissionEnum(String no, String des) {
        this.no = no;
        this.des = des;
    }

    /**
     * @return Returns the no.
     */
    public String getNo() {
        return no;
    }

    public String getDes() {
        return des;
    }

    /**
     * 通过枚举<code>des</code>获得枚举
     *
     * @param des
     * @return
     */
    public static DeptPermissionEnum getByDescription(String des) {
        if (StringUtils.isBlank(des)) {
            return null;
        }
        for (DeptPermissionEnum menum : values()) {
            if (menum.getDes().equals(des)) {
                return menum;
            }
        }
        return null;
    }

    public static DeptPermissionEnum getByNo(String no) {
        if (StringUtils.isBlank(no)) {
            return null;
        }
        for (DeptPermissionEnum menum : values()) {
            if (menum.getNo().equals(no)) {
                return menum;
            }
        }
        return null;
    }

    public static String getDescByNo(String no) {

        DeptPermissionEnum byNo = getByNo(no);

        return byNo == null ? null : byNo.getDes();

    }

}
